51a6e8adcf6ecfe17fd943e098ef4ee316ed38f9,oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositePermissionProvider.java,CompositePermissionProvider,grantsAction,#String#String#Iterable#,217

Before Change


        Iterator<AggregatedPermissionProvider> it = providers.iterator();
        while (it.hasNext()) {
            AggregatedPermissionProvider pp = it.next();
            boolean isGranted = pp.isGranted(oakPath, action);
            if (!it.hasNext() || !isGranted) {
                return isGranted;
            }
        }
        return false;

After Change


                                        @Nonnull final String action,
                                        @Nonnull Iterable<AggregatedPermissionProvider> providers) {
        Iterator<AggregatedPermissionProvider> it = providers.iterator();
        boolean isGranted = false;
        while (it.hasNext()) {
            AggregatedPermissionProvider pp = it.next();
            isGranted = pp.isGranted(oakPath, action);
            if (!isGranted) {
                return false;
            }
        }
        return isGranted;
    }

    private static boolean grantsRepoPermission(long permission, @Nonnull Iterable<AggregatedPermissionProvider> providers) {